<?php
// +----------------------------------------------------------------------
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
// +----------------------------------------------------------------------
// | Copyright (c) 2006-2016 http://thinkphp.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: 流年 <liu21st@gmail.com>
// +----------------------------------------------------------------------

// 应用公共文件

// 获取Hash密码
function getPasswordHash($password) {
	return (new \Security\PasswordHash(8, false)) -> HashPassword($password);
}

// 验证Hash密码
function checkPasswordHash($password, $password_hash) {
	return (new \Security\PasswordHash(8, false)) -> CheckPassword($password, $password_hash);
}

// 图片上传
function uploadFile($name = 'file') {
	$file = request() -> file($name);
	if($file) {
		return $file -> move(ROOT_PATH . 'public' . DS . 'uploads') -> getSaveName();
	}
	return '';
}

/*
 * 清空数据league_parameters表的全局参数
 */
function clearParam() {
	\think\Cache::rm('parameters');
}

/*
 * 获取数据league_parameters表的全局参数
 * @value key 键
 * @value 是否直接从数据库取数据
 */
function getParam($key = null, $is_test = false) {
	if($is_test) {
		$params = false;
	} else {
		$params = \think\Cache::get('parameters');
	}

	if(!$params) {
		$getParameters = (new \app\common\component\parameters\ParametersService()) -> getParameters();

		$params = array();
		if($getParameters['code'] == 0) {
			foreach($getParameters['data']['parameters'] as $v) {
				$params[$v -> key] = $v -> value;
			}
			clearParam();
			\think\Cache::set('parameters', $params);
		}

		if(!is_null($key) && !isset($params[$key])) {
			return null;
		}
	}

	if(is_null($key)) {
		return $params;
	} else {
		return isset($params[$key])?$params[$key]:getParam($key, true);
	}
}

/**
 * 计算天数
 */
function countDays($start = null, $end = null) {
	if($start) {
		$startTime = date_create(date('Y-m-d', $start));
	} else {
		$startTime = date_create(date('Y-m-d'));
	}

	if($end) {
		$endTime = date_create(date('Y-m-d', $end));
	} else {
		$endTime = date_create(date('Y-m-d'));
	}
	
	return (int)date_diff($startTime, $endTime) -> format('%R%a days');
}

/**
 * 短信
 */
function winicSMS($mobile, $contentParam, $t) {
	header("Content-Type: text/html; charset=UTF-8");

	$data = 'name=%s&pwd=%s&content=%s&mobile=%s&stime=%s&sign=%s&type=pt&extno=%s';
	$argv = [
		'name'    => 'xx1885', // 必填参数。用户账号
		'pwd'     => '370738CEE716C5917D09BAA32CA3', // 必填参数。（web平台：基本资料中的接口密码）
		'content' => '', // 必填参数。发送内容（1-500 个汉字）UTF-8编码
		'mobile'  => $mobile, // 必填参数。手机号码。多个以英文逗号隔开
		'stime'   => '', // 可选参数。发送时间，填写时已填写的时间发送，不填时为当前时间发送
		'sign'    => '', // 必填参数。用户签名。
		'type'    => 'pt', // 必填参数。固定值 pt
		'extno'   => '' // 可选参数，扩展码，用户定义扩展码，只能为数字
	];

	switch($t) {
		case 10:// 提现匹配成功
			$argv['content'] = '尊敬的' . $contentParam['name'] . '您好，您的提现订单匹配成功！请及时登录进行相关操作。【英雄联盟】';
			break;
		case 19:// 提现完成打款
			$argv['content'] = '尊敬的' . $contentParam['name'] . '您好，您的提现已经完成打款！【英雄联盟】';
			break;
		case 20:// 打款匹配成功
			$argv['content'] = '尊敬的' . $contentParam['name'] . '您好，您的打款订单匹配成功！请及时登录进行相关操作。【英雄联盟】';
			break;
		case 29:// 打款订单完成
			$argv['content'] = '尊敬的' . $contentParam['name'] . '您好，您的打款订单已经！【英雄联盟】';
			break;
		case 90:// 验证码
			$argv['content'] = '您的验证码：' . $contentParam['code'] . '。如非本人操作，可不用理会！【英雄联盟】';
			break;
		default:
			$argv['content'] = '你好！【英雄联盟】';
			break;
	}

	$params = '';
	foreach($argv as $k => $v) {
		$params .= $k . '=' . urlencode($v) . '&';
	}
	// TODO 关闭短信
	//提交的url地址
	//$url  = 'http://web.wasun.cn/asmx/smsservice.aspx?' . rtrim($params, '&');
	//return substr(file_get_contents($url), 0, 1);// 获取信息发送后的状态
	//return file_get_contents($url);// 获取信息发送后的状态
}